package com.hospital.service;

import com.hospital.entity.Medicine;
import com.hospital.vo.ResponseVO;

import java.io.IOException;

/**
 * 药品接口类
 * @author coder_zzm
 * @date 2022/5/8 22:35
 */
public interface MedicineService {
    /**
     * 获取所有药品信息
     * @param pageNum 页码
     * @param pageSize 每页显示数量
     * @return 药品信息列表
     */
    default ResponseVO getAllAndPage(Integer pageNum, Integer pageSize) {
        return ResponseVO.buildSuccessInstance(ResponseVO.NULL_RESULT);
    }

    /**
     * 查询药品详细信息
     * @param mId 药品编号
     * @return 药品详细信息
     */
    ResponseVO getMedicineDetail(String mId);

    /**
     * 根据药品编号删除药品信息
     * @param mId 药品编号
     * @return 受影响行数
     */
    ResponseVO delMedicineGetById(String mId);

    /**
     * 添加药品信息
     * @param medicine 药品实体类
     * @return 药品信息是否添加成功
     * @throws IOException 文件上传抛出异常
     */
    ResponseVO addMedicine(Medicine medicine) throws IOException;

    /**
     * 根据药品编号修改药品信息
     * @param medicine 药品实体类
     * @return 药品是否修改成功
     * @throws IOException 文件上传抛出异常
     */
    ResponseVO updateMedicine(Medicine medicine) throws IOException;
}
